package com.zlcx.tz.live.vo;

import com.google.common.collect.Lists;
import lombok.Data;

import java.util.List;

/**
 * <p></p>
 * <PRE>
 * <BR>    修改记录
 * <BR>-----------------------------------------------
 * <BR>    修改日期         修改人          修改内容
 * </PRE>
 * @author zl
 * @date Created in 2019/5/23 16:32
 * @version 1.0
 * @copyright: Copyright (c) founders
 */

@Data
public class AgoraChannelRoleListVO {

    /**
     * 查询频道是否存在：
     * true：频道存在
     * false：频道不存在
     */
    private Boolean channel_exist;

    /**
     * 查询频道模式：
     * 1：频道为通信模式
     * 2：频道为直播模式
     */
    private Integer mode;

    /********* 通信频道 ***********/
    /**
     * 频道内的用户总人数
     */
    private Long total;

    /**
     * 频道内所有用户的 uid
     */
    private List<Long> users;


    /*********** 直播频道 **************/
    /**
     * 频道内所有主播的 uid 列表
     */
    private List<Long> broadcasters;

    /**
     * 频道内观众的 uid 列表，最多包含前 10000 名观众
     */
    private List<Long> audience;

    /**
     * 频道内的观众总人数
     */
    private Long audience_total;

    /**
     * 频道内的主播总人数
     */
    private Long broadcaster_total;


    public Boolean getChannel_exist() {
        return channel_exist == null ? false : channel_exist;
    }

    public Long getTotal() {
        return total == null ? getUsers().size() : total;
    }

    public List<Long> getUsers() {
        return users == null ? Lists.newArrayList() : users;
    }

    public List<Long> getBroadcasters() {
        return broadcasters == null ? Lists.newArrayList() : broadcasters;
    }

    public List<Long> getAudience() {
        return audience == null ? Lists.newArrayList() : audience;
    }

    public Long getAudience_total() {
        return audience_total == null ? getAudience().size() : audience_total;
    }

    public Long getBroadcaster_total() {
        return broadcaster_total == null ? getBroadcasters().size() : broadcaster_total;
    }
}